/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.Generation.GenerationDynamics.impl;

import EA_Model.IEC61970.Domain.PU;
import EA_Model.IEC61970.Domain.Seconds;
import EA_Model.IEC61970.Domain.Temperature;

import EA_Model.IEC61970.Generation.GenerationDynamics.CombustionTurbine;
import EA_Model.IEC61970.Generation.GenerationDynamics.GenerationDynamicsPackage;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Combustion Turbine</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getAmbientTemp <em>Ambient Temp</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getAuxPowerVersusFrequency <em>Aux Power Versus Frequency</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getAuxPowerVersusVoltage <em>Aux Power Versus Voltage</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getCapabilityVersusFrequency <em>Capability Versus Frequency</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getHeatRecoveryFlag <em>Heat Recovery Flag</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getPowerVariationByTemp <em>Power Variation By Temp</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getReferenceTemp <em>Reference Temp</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.CombustionTurbineImpl#getTimeConstant <em>Time Constant</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class CombustionTurbineImpl extends PrimeMoverImpl implements CombustionTurbine {
	/**
	 * The cached value of the '{@link #getAmbientTemp() <em>Ambient Temp</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getAmbientTemp()
	 * @generated
	 * @ordered
	 */
	protected Temperature ambientTemp;

	/**
	 * The cached value of the '{@link #getAuxPowerVersusFrequency() <em>Aux Power Versus Frequency</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getAuxPowerVersusFrequency()
	 * @generated
	 * @ordered
	 */
	protected PU auxPowerVersusFrequency;

	/**
	 * The cached value of the '{@link #getAuxPowerVersusVoltage() <em>Aux Power Versus Voltage</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getAuxPowerVersusVoltage()
	 * @generated
	 * @ordered
	 */
	protected PU auxPowerVersusVoltage;

	/**
	 * The cached value of the '{@link #getCapabilityVersusFrequency() <em>Capability Versus Frequency</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCapabilityVersusFrequency()
	 * @generated
	 * @ordered
	 */
	protected PU capabilityVersusFrequency;

	/**
	 * The cached value of the '{@link #getHeatRecoveryFlag() <em>Heat Recovery Flag</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getHeatRecoveryFlag()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Boolean heatRecoveryFlag;

	/**
	 * The cached value of the '{@link #getPowerVariationByTemp() <em>Power Variation By Temp</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPowerVariationByTemp()
	 * @generated
	 * @ordered
	 */
	protected PU powerVariationByTemp;

	/**
	 * The cached value of the '{@link #getReferenceTemp() <em>Reference Temp</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getReferenceTemp()
	 * @generated
	 * @ordered
	 */
	protected Temperature referenceTemp;

	/**
	 * The cached value of the '{@link #getTimeConstant() <em>Time Constant</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTimeConstant()
	 * @generated
	 * @ordered
	 */
	protected Seconds timeConstant;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CombustionTurbineImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return GenerationDynamicsPackage.Literals.COMBUSTION_TURBINE;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Temperature getAmbientTemp() {
		if (ambientTemp != null && ambientTemp.eIsProxy()) {
			InternalEObject oldAmbientTemp = (InternalEObject)ambientTemp;
			ambientTemp = (Temperature)eResolveProxy(oldAmbientTemp);
			if (ambientTemp != oldAmbientTemp) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__AMBIENT_TEMP, oldAmbientTemp, ambientTemp));
			}
		}
		return ambientTemp;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Temperature basicGetAmbientTemp() {
		return ambientTemp;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setAmbientTemp(Temperature newAmbientTemp) {
		Temperature oldAmbientTemp = ambientTemp;
		ambientTemp = newAmbientTemp;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__AMBIENT_TEMP, oldAmbientTemp, ambientTemp));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getAuxPowerVersusFrequency() {
		if (auxPowerVersusFrequency != null && auxPowerVersusFrequency.eIsProxy()) {
			InternalEObject oldAuxPowerVersusFrequency = (InternalEObject)auxPowerVersusFrequency;
			auxPowerVersusFrequency = (PU)eResolveProxy(oldAuxPowerVersusFrequency);
			if (auxPowerVersusFrequency != oldAuxPowerVersusFrequency) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_FREQUENCY, oldAuxPowerVersusFrequency, auxPowerVersusFrequency));
			}
		}
		return auxPowerVersusFrequency;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetAuxPowerVersusFrequency() {
		return auxPowerVersusFrequency;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setAuxPowerVersusFrequency(PU newAuxPowerVersusFrequency) {
		PU oldAuxPowerVersusFrequency = auxPowerVersusFrequency;
		auxPowerVersusFrequency = newAuxPowerVersusFrequency;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_FREQUENCY, oldAuxPowerVersusFrequency, auxPowerVersusFrequency));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getAuxPowerVersusVoltage() {
		if (auxPowerVersusVoltage != null && auxPowerVersusVoltage.eIsProxy()) {
			InternalEObject oldAuxPowerVersusVoltage = (InternalEObject)auxPowerVersusVoltage;
			auxPowerVersusVoltage = (PU)eResolveProxy(oldAuxPowerVersusVoltage);
			if (auxPowerVersusVoltage != oldAuxPowerVersusVoltage) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_VOLTAGE, oldAuxPowerVersusVoltage, auxPowerVersusVoltage));
			}
		}
		return auxPowerVersusVoltage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetAuxPowerVersusVoltage() {
		return auxPowerVersusVoltage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setAuxPowerVersusVoltage(PU newAuxPowerVersusVoltage) {
		PU oldAuxPowerVersusVoltage = auxPowerVersusVoltage;
		auxPowerVersusVoltage = newAuxPowerVersusVoltage;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_VOLTAGE, oldAuxPowerVersusVoltage, auxPowerVersusVoltage));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getCapabilityVersusFrequency() {
		if (capabilityVersusFrequency != null && capabilityVersusFrequency.eIsProxy()) {
			InternalEObject oldCapabilityVersusFrequency = (InternalEObject)capabilityVersusFrequency;
			capabilityVersusFrequency = (PU)eResolveProxy(oldCapabilityVersusFrequency);
			if (capabilityVersusFrequency != oldCapabilityVersusFrequency) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__CAPABILITY_VERSUS_FREQUENCY, oldCapabilityVersusFrequency, capabilityVersusFrequency));
			}
		}
		return capabilityVersusFrequency;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetCapabilityVersusFrequency() {
		return capabilityVersusFrequency;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setCapabilityVersusFrequency(PU newCapabilityVersusFrequency) {
		PU oldCapabilityVersusFrequency = capabilityVersusFrequency;
		capabilityVersusFrequency = newCapabilityVersusFrequency;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__CAPABILITY_VERSUS_FREQUENCY, oldCapabilityVersusFrequency, capabilityVersusFrequency));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Boolean getHeatRecoveryFlag() {
		if (heatRecoveryFlag != null && heatRecoveryFlag.eIsProxy()) {
			InternalEObject oldHeatRecoveryFlag = (InternalEObject)heatRecoveryFlag;
			heatRecoveryFlag = (EA_Model.IEC61970.Domain.Boolean)eResolveProxy(oldHeatRecoveryFlag);
			if (heatRecoveryFlag != oldHeatRecoveryFlag) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__HEAT_RECOVERY_FLAG, oldHeatRecoveryFlag, heatRecoveryFlag));
			}
		}
		return heatRecoveryFlag;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Boolean basicGetHeatRecoveryFlag() {
		return heatRecoveryFlag;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setHeatRecoveryFlag(EA_Model.IEC61970.Domain.Boolean newHeatRecoveryFlag) {
		EA_Model.IEC61970.Domain.Boolean oldHeatRecoveryFlag = heatRecoveryFlag;
		heatRecoveryFlag = newHeatRecoveryFlag;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__HEAT_RECOVERY_FLAG, oldHeatRecoveryFlag, heatRecoveryFlag));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getPowerVariationByTemp() {
		if (powerVariationByTemp != null && powerVariationByTemp.eIsProxy()) {
			InternalEObject oldPowerVariationByTemp = (InternalEObject)powerVariationByTemp;
			powerVariationByTemp = (PU)eResolveProxy(oldPowerVariationByTemp);
			if (powerVariationByTemp != oldPowerVariationByTemp) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__POWER_VARIATION_BY_TEMP, oldPowerVariationByTemp, powerVariationByTemp));
			}
		}
		return powerVariationByTemp;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetPowerVariationByTemp() {
		return powerVariationByTemp;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPowerVariationByTemp(PU newPowerVariationByTemp) {
		PU oldPowerVariationByTemp = powerVariationByTemp;
		powerVariationByTemp = newPowerVariationByTemp;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__POWER_VARIATION_BY_TEMP, oldPowerVariationByTemp, powerVariationByTemp));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Temperature getReferenceTemp() {
		if (referenceTemp != null && referenceTemp.eIsProxy()) {
			InternalEObject oldReferenceTemp = (InternalEObject)referenceTemp;
			referenceTemp = (Temperature)eResolveProxy(oldReferenceTemp);
			if (referenceTemp != oldReferenceTemp) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__REFERENCE_TEMP, oldReferenceTemp, referenceTemp));
			}
		}
		return referenceTemp;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Temperature basicGetReferenceTemp() {
		return referenceTemp;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setReferenceTemp(Temperature newReferenceTemp) {
		Temperature oldReferenceTemp = referenceTemp;
		referenceTemp = newReferenceTemp;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__REFERENCE_TEMP, oldReferenceTemp, referenceTemp));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getTimeConstant() {
		if (timeConstant != null && timeConstant.eIsProxy()) {
			InternalEObject oldTimeConstant = (InternalEObject)timeConstant;
			timeConstant = (Seconds)eResolveProxy(oldTimeConstant);
			if (timeConstant != oldTimeConstant) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.COMBUSTION_TURBINE__TIME_CONSTANT, oldTimeConstant, timeConstant));
			}
		}
		return timeConstant;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetTimeConstant() {
		return timeConstant;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setTimeConstant(Seconds newTimeConstant) {
		Seconds oldTimeConstant = timeConstant;
		timeConstant = newTimeConstant;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.COMBUSTION_TURBINE__TIME_CONSTANT, oldTimeConstant, timeConstant));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AMBIENT_TEMP:
				if (resolve) return getAmbientTemp();
				return basicGetAmbientTemp();
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_FREQUENCY:
				if (resolve) return getAuxPowerVersusFrequency();
				return basicGetAuxPowerVersusFrequency();
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_VOLTAGE:
				if (resolve) return getAuxPowerVersusVoltage();
				return basicGetAuxPowerVersusVoltage();
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__CAPABILITY_VERSUS_FREQUENCY:
				if (resolve) return getCapabilityVersusFrequency();
				return basicGetCapabilityVersusFrequency();
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__HEAT_RECOVERY_FLAG:
				if (resolve) return getHeatRecoveryFlag();
				return basicGetHeatRecoveryFlag();
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__POWER_VARIATION_BY_TEMP:
				if (resolve) return getPowerVariationByTemp();
				return basicGetPowerVariationByTemp();
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__REFERENCE_TEMP:
				if (resolve) return getReferenceTemp();
				return basicGetReferenceTemp();
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__TIME_CONSTANT:
				if (resolve) return getTimeConstant();
				return basicGetTimeConstant();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AMBIENT_TEMP:
				setAmbientTemp((Temperature)newValue);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_FREQUENCY:
				setAuxPowerVersusFrequency((PU)newValue);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_VOLTAGE:
				setAuxPowerVersusVoltage((PU)newValue);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__CAPABILITY_VERSUS_FREQUENCY:
				setCapabilityVersusFrequency((PU)newValue);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__HEAT_RECOVERY_FLAG:
				setHeatRecoveryFlag((EA_Model.IEC61970.Domain.Boolean)newValue);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__POWER_VARIATION_BY_TEMP:
				setPowerVariationByTemp((PU)newValue);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__REFERENCE_TEMP:
				setReferenceTemp((Temperature)newValue);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__TIME_CONSTANT:
				setTimeConstant((Seconds)newValue);
				return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AMBIENT_TEMP:
				setAmbientTemp((Temperature)null);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_FREQUENCY:
				setAuxPowerVersusFrequency((PU)null);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_VOLTAGE:
				setAuxPowerVersusVoltage((PU)null);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__CAPABILITY_VERSUS_FREQUENCY:
				setCapabilityVersusFrequency((PU)null);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__HEAT_RECOVERY_FLAG:
				setHeatRecoveryFlag((EA_Model.IEC61970.Domain.Boolean)null);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__POWER_VARIATION_BY_TEMP:
				setPowerVariationByTemp((PU)null);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__REFERENCE_TEMP:
				setReferenceTemp((Temperature)null);
				return;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__TIME_CONSTANT:
				setTimeConstant((Seconds)null);
				return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AMBIENT_TEMP:
				return ambientTemp != null;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_FREQUENCY:
				return auxPowerVersusFrequency != null;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__AUX_POWER_VERSUS_VOLTAGE:
				return auxPowerVersusVoltage != null;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__CAPABILITY_VERSUS_FREQUENCY:
				return capabilityVersusFrequency != null;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__HEAT_RECOVERY_FLAG:
				return heatRecoveryFlag != null;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__POWER_VARIATION_BY_TEMP:
				return powerVariationByTemp != null;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__REFERENCE_TEMP:
				return referenceTemp != null;
			case GenerationDynamicsPackage.COMBUSTION_TURBINE__TIME_CONSTANT:
				return timeConstant != null;
		}
		return super.eIsSet(featureID);
	}

} //CombustionTurbineImpl
